// 立即执行函数包装，处理异步操作
(async function() {
    try {
        // 检查环境变量是否存在
        if (!import.meta.env.VITE_DEEPSEEK_API_KEY || import.meta.env.VITE_DEEPSEEK_API_KEY === 'your_api_key_here') {
            throw new Error('请在.env文件中设置有效的DeepSeek API密钥');
        }
        
        // LLM API 地址
        const endpoint = 'https://api.deepseek.com/chat/completions';
        
        // 请求头
        const headers = {
            // API Key 请求令牌
            'Authorization': `Bearer ${import.meta.env.VITE_DEEPSEEK_API_KEY}`,
            'Content-Type': 'application/json'
        };
        
        // 请求体
        const payload = {
            model: 'deepseek-chat',
            messages: [
                {
                    role: "system",
                    content: "You are a helpful assistant."
                },
                {
                    role: "user",
                    content: "你好 DeepSeek，简单介绍一下你自己吧。"
                }
            ]
        };
        
        // 更新UI显示加载状态
        const replyElement = document.getElementById('reply');
        replyElement.textContent = '正在请求DeepSeek API...';
        
        // 发送请求
        const response = await fetch(endpoint, {
            method: 'POST',
            headers: headers,
            body: JSON.stringify(payload)
        });
        
        // 检查响应状态
        if (!response.ok) {
            throw new Error(`API请求失败: ${response.status} ${response.statusText}`);
        }
        
        // 解析响应数据
        const data = await response.json();
        console.log('DeepSeek API 响应:', data);
        
        // 检查响应数据结构
        if (!data.choices || !data.choices[0] || !data.choices[0].message) {
            throw new Error('API响应格式不正确');
        }
        
        // 更新UI显示回复内容
        replyElement.textContent = data.choices[0].message.content;
        
    } catch (error) {
        // 错误处理
        console.error('发生错误:', error);
        const replyElement = document.getElementById('reply');
        replyElement.textContent = `错误: ${error.message}`;
        replyElement.style.color = '#e74c3c';
    }
})();